#include<iostream>
#include<iomanip>
using namespace std;

int fbnq(int n);
int fbnq2(int n);

int main(){
	for(int i = 1 ; i<= 20 ; i++){
		cout<<setwfbnq(i)<<" ";
		if(i % 10 == 0){
			cout<<endl;
		}		
	}
	cout<<"========"<<endl;
	for(int i = 1 ; i<= 20 ; i++){
		cout<<fbnq2(i)<<" ";
		if(i % 10 == 0){
			cout<<endl;
		}		
	}
	return 0;
}

int fbnq(int n){
	switch(n){
		case 1:
			return 1;
		case 2:
			return 1;
		default:
			return fbnq(n-1)+fbnq(n-2) ;
	}
}

int fbnq2(int n){
	int a[20];
	a[0] = 1;
	a[1] = 1;
	for(int i = 2;i < 20 ;i++){
		a[i]=a[i-1]+a[i-2];
	}
	return a[n-1];
}
